package com.jr.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.jr.mapper.UsersMapper;
import com.jr.pojo.Users;
import com.jr.service.UserService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * 用户服务实现类
 */
@Service
public class UserServiceImpl implements UserService {

    @Resource
    private UsersMapper usersMapper;

    /**
     * 分页条件查询用户列表
     * @param pageNum 当前页码
     * @param username 用户名（可选，用于搜索）
     * @return 分页结果
     */
    @Override
    public PageInfo<Users> findUsersByPage(Integer pageNum, String username) {
        // 如果页码为null或小于1，则默认查询第一页
        if (pageNum == null || pageNum < 1) {
            pageNum = 1;
        }
        // 每页最多展示7条数据
        int pageSize = 7;
        
        // 使用PageHelper进行分页
        PageHelper.startPage(pageNum, pageSize);
        
        // 调用Mapper查询用户列表
        List<Users> usersList = usersMapper.findUsersByPage(username);
        
        // 包装成PageInfo对象返回
        return new PageInfo<>(usersList);
    }
    
    /**
     * 添加用户
     * @param users 用户对象
     * @return 影响的行数
     */
    @Override
    public int addUser(Users users) {
        // 调用Mapper添加用户，注意：数据库层会自动设置created_at和updated_at为当前时间
        return usersMapper.addUser(users);
    }
}